home *** CD-ROM | disk | FTP | other *** search
/ Revista do CD-ROM 101 / CD-ROM 101.iso / compl / maya5ple / Install_MayaPLE5_English.exe / Maya / Data1.cab / hypergraphAssignTextureToSel < prev    next >
Encoding:
Text File  |  2003-07-17  |  3.3 KB  |  88 lines

  1. // Copyright (C) 1997-2002 Alias|Wavefront,
  2. // a division of Silicon Graphics Limited.
  3. //
  4. // The information in this file is provided for the exclusive use of the
  5. // licensees of Alias|Wavefront.  Such users have the right to use, modify,
  6. // and incorporate this code into other products for purposes authorized
  7. // by the Alias|Wavefront license agreement, without fee.
  8. //
  9. // ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  10. // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
  11. // EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  12. // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  13. // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  14. // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  15. // PERFORMANCE OF THIS SOFTWARE.
  16. //
  17. // Copyright (C) 1997-1998 Alias|Wavefront,
  18. // a division of Silicon Graphics Limited.
  19. //
  20. // The information in this file is provided for the exclusive use of the
  21. // licensees of Alias|Wavefront.  Such users have the right to use, modify,
  22. // and incorporate this code into other products for purposes authorized
  23. // by the Alias|Wavefront license agreement, without fee.
  24. //
  25. // ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  26. // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
  27. // EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  28. // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  29. // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  30. // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  31. // PERFORMANCE OF THIS SOFTWARE.
  32. //
  33. // $Source: /vobs/aw/Maya/src/RenderUISlice/UI/hypergraphAssignTextureToSelection.mel $
  34. // 
  35. // $Author: jgross $
  36. // $Revision: /main/1 $
  37. // $Date: 1999/12/03 15:33:47 $
  38. // 
  39.  
  40. global proc hypergraphAssignTextureToSelection(string $texture)
  41. {
  42.     string $materials[];
  43.     string $material;
  44.     
  45.     $materials = `listConnections -destination true ($texture + ".outColor")`;
  46.  
  47.     if (size($materials) > 1) {
  48.         error("Texture " + $texture + " has more than one material.");
  49.         return;
  50.     } else if (size($materials) == 0) {
  51.         //
  52.         // The texture is not associated with any material, so
  53.         // we'll create one now.
  54.         // Create a lambert shader, & connect this texture to it.
  55.         string $savedSelection[] = `ls -sl`;
  56.         $material = `shadingNode -asShader lambert -n ($texture + "Material")`;
  57.         defaultNavigation 
  58.             -connectToExisting 
  59.             -source $texture 
  60.             -destination $material
  61.             -force true;
  62.  
  63.         select $savedSelection;
  64.     } else {
  65.         $material = $materials[0];
  66.     }
  67.  
  68.     string $shadingGroups[];
  69.     string $shadingGroup;
  70.  
  71.     $shadingGroups = `listConnections -destination true ($material + ".outColor")`;
  72.  
  73.     if (size($shadingGroups) > 1) {
  74.         error("Material " + $material + " has more than one shading group.");
  75.         return;
  76.     } else if (size($shadingGroups) == 0) {
  77.         //
  78.         // The material is not associated with any shading group, so
  79.         // we'll create one now, and & connect this material to it.
  80.         $shadingGroup = `sets -renderable true -noSurfaceShader true -empty -name ($texture + "SG")`;
  81.         connectAttr -f ($material + ".outColor") ($shadingGroup + ".surfaceShader");
  82.     } else {
  83.         $shadingGroup = $shadingGroups[0];
  84.     }
  85.  
  86.     sets -edit -forceElement $shadingGroup;
  87. }
  88.